const Child2 = {
	isJiess: true,
	setup() {
		// field1获取到来自父层级的数据
		// field2获取到来自顶层级的数据
		const val1 = this.inject('field1');
		const val2 = this.inject('field2');
		console.log(val1, '--child2---', val2);

		this.add(
			'打开控制台看打印'
		);
	}
}


const Child1 = {
	isJiess: true,
	setup() {
		// 获取父级节点注入的数据
		const val1 = this.inject('field1');
		const val2 = this.inject('field2');
		console.log(val1, '--child2---', val2);

		this.provide({
			field1: '第二层的field1',
		});

		this.add(
			this.render({
				is: Child2
			})
		);
	}
}
// 由于需要大量用到上下文中的方法和属性
// 所以，setup函数一定要定义为function
export default async function() {
	// 注入数据，分享给后代
	this.provide({
		field1: '第一层的field1',
		field2: '第一层的field2',
	});

	// 上下文注入方案
	this.add(
		this.render({ className: 'outer' },
			this.render({ is: 'JiessFragment' },
				this.render({ className: 'inner' },
					this.render({
						is: Child1
					})
				)
			)
		)
	)









}